package com.szsh.aiot.hsm.domain.reportdata;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * 安全周报缓存对象
 *
 * @author luohuawuyin
 *
 */
@JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY, getterVisibility=JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE)
@JsonIgnoreProperties(ignoreUnknown = true)
public class ReportRedisData {
    private AtomicInteger scanTime = new AtomicInteger(0);
    private Set<String> devices = new HashSet<>();
    private Set<String> fallDevice = new HashSet<>();
    private Set<String> leaks = new HashSet<>();
    private Set<String> weekpwd = new HashSet<>();
    private Set<String> abnormal = new HashSet<>();
    private Set<Long> abnormalDetail = new HashSet<>();
    private Set<String> camera = new HashSet<>();

    public Set<String> getFallDevice() {
        return fallDevice;
    }

    public void setFallDevice(Set<String> fallDevice) {
        this.fallDevice = fallDevice;
    }

    public Set<Long> getAbnormalDetail() {
        return abnormalDetail;
    }

    public void setAbnormalDetail(Set<Long> abnormalDetail) {
        this.abnormalDetail = abnormalDetail;
    }

    public int getScanTime() {
        return scanTime.get();
    }

    public int increaseTime() {
        return scanTime.incrementAndGet();
    }

    public void setTime(int time) {
        scanTime.set(time);
    }

    public void setScanTime(AtomicInteger scanTime) {
        this.scanTime = scanTime;
    }

    public Set<String> getDevices() {
        return devices;
    }

    public void setDevices(Set<String> devices) {
        this.devices = devices;
    }

    public Set<String> getLeaks() {
        return leaks;
    }

    public void setLeaks(Set<String> leaks) {
        this.leaks = leaks;
    }

    public Set<String> getWeekpwd() {
        return weekpwd;
    }

    public void setWeekpwd(Set<String> weekpwd) {
        this.weekpwd = weekpwd;
    }

    public Set<String> getAbnormal() {
        return abnormal;
    }

    public void setAbnormal(Set<String> abnormal) {
        this.abnormal = abnormal;
    }

    public Set<String> getCamera() {
        return camera;
    }

    public void setCamera(Set<String> camera) {
        this.camera = camera;
    }
}
